/*
 * Copyright 2019 Flipkart Internet Pvt. Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.flipkart.ohos.proteus;

import com.flipkart.ohos.proteus.value.Layout;
import com.flipkart.ohos.proteus.value.Value;

import java.util.Map;

/**
 * ProteusResources
 *
 * @author adityasharat
 */
public class ProteusResources {
    private final Map<String, ViewTypeParser> parsers;

    private final LayoutManager layoutManager;

    private final FunctionManager functionManager;

    private final StyleManager styleManager;

    ProteusResources(Map<String, ViewTypeParser> parsers, LayoutManager layoutManager,
                     FunctionManager functionManager, StyleManager styleManager) {
        this.parsers = parsers;
        this.layoutManager = layoutManager;
        this.functionManager = functionManager;
        this.styleManager = styleManager;
    }

    public FunctionManager getFunctionManager() {
        return this.functionManager;
    }

    public Function getFunction(String name) {
        return functionManager.get(name);
    }

    public Layout getLayout(String name) {
        return null != layoutManager ? layoutManager.get(name) : null;
    }

    public Map<String, ViewTypeParser> getParsers() {
        return parsers;
    }

    public Map<String, Value> getStyle(String name) {
        return null != styleManager ? styleManager.get(name) : null;
    }
}
